查看原文
其他

那些被低估的程序员们!

程序人生 2022-04-19


作者 | The Hosk    

译者 | 弯月   责编 | 王晓曼

出品 | CSDN(ID:CSDNnews)

开发人员是软件项目的引擎,创建软件的速度取决于开发团队。

我们的目标应该是制定计划、决策和需求,让开发团队专注于创建软件。

然而,开发人员的时间没有得到应有的保护,开发人员也无法专注于开发。因为他们常常需要承担其他人也可以完成的任务,而且被邀请参加各种会议他们根本不需要参加的会议。

经理的工作不会创造任何东西,他们的工作是营造能够推动软件开发的环境,但实际上他们却在牺牲开发人员。


开发人员的处境


有人认为,创建计划才是软件开发的重点,而且必须由重要的人承担,而开发团队承担的只不过是软件开发中简单的一部分工作。

开发人员的价值很低,因为他们只是开发人员,而不是领导者或决策者。

领导、项目经理、高管、Scrum master 以及所有的经理不会创造任何东西。但这并不是说他们什么都不用做,他们的工作是确保开发人员能够正常开展工作,并为他们解决难题。所有会议以及占用开发人员时间的任务都应该被排除在外。

经理和领导即便每周工作 100 小时,也无法生产出任何软件。经理和领导会制定错误的计划,而且他们不愿意改正。

经理和领导无法交付项目,他们无法创建软件。大多数经理和领导制定了一个又一个错误的计划,到头来却将责任推卸给开发团队。

项目设立领导的职位是为了帮助开发团队创造条件,让他们专心创建软件,并为他们解决难题。


开发人员的时间是瓶颈


开发人员的时间非常重要,他们的时间是项目的瓶颈。而经理和领导却一点都不懂得珍惜他们的时间。

开发人员的工作是创建软件,他们浪费在无助于创建软件的活动上的每一分钟,都会影响到项目据的速度。

我们应该最大限度地利用开发人员的时间,而且应该只考虑最重要的开发任务。


时间的价值怎么变得如此混乱?


软件项目受人员、办公室政治以及计划的影响。软件项目常常受到某些感性决策的驱动,而且当项目失控时,人们会尽可能推卸责任。

大多数软件项目的目标是在期限和预算内交付。软件项目的真正目标是创建正确的软件,但实际上,大多数时候决策的重点都是为了迎合计划,而不是创建软件。


开发人员被视为技术资源


很多人认为开发人员是技术资源,就像工具箱中的工具一样,可以根据技能分类为螺丝刀、扳手、锤子等等。

而你只需要选择正确的工具来解决问题,例如我需要一把螺丝刀来拆螺丝。

这种观点是错误的,而且会导致开发人员的时间被低估和浪费。

每个开发人员拥有的技术、知识和经验都是独一无二的,尤其是在当前项目中:

  • 每个人都拥有不同的技术;

  • 每个人都拥有不同的经验;

  • 每个人对业务流程的了解不同;

  • 每个人对整个解决方案的把握不同;

  • 每个人与客户的关系不同;

  • 每个人与其他开发的关系不同。

经验丰富的开发人员比初级开发人员更有价值。

经验丰富的开发人员的工作速度远超初级开发人员。

大多数新加入软件项目的开发人员需要一个月的时间才能上手,而扳手拧一颗松动的螺丝不需要任何时间上手。


开发人员的时间不被重视

 

在创建软件时,双赢的态度会导致需求变化或需求不断增加,然而项目期限却不会延长。

怎么可能让同一批开发人员承担更多的工作呢?

开发人员的时间不受到重视,他们可以通过加班来承担更多的工作?开发团队可以挤进更多的工作,他们只需要加班和更努力地工作,就能严守不断变化的最后期限?

添加更多开发人员就能加快开发速度?如果将开发人员视为技术资源,那么确实添加更多开发人员就能将创建更多代码,但我建议你阅读一下《人月神话》。

开发不仅仅是编写代码,而且还需要了解完整的解决方案、了解业务的运作方式和需求。

开发人员需要与项目中的其他人协作,知道向谁寻求帮助,知道如何寻求帮助。

随着开发人员数量的增加,沟通会变得更加困难。这只会减缓开发速度。


开发人员的时间


创建软件需要整块的时间,不被打断,可以进行深度思考。但实际上,开发人员会被不停地打断,被要求参加会议,或承担其他非开发的任务,这只会导致切换思维所付出的代价飙升。

为了最大限度地提高开发团队的产出,你需要保护他们免受会议、打断和非生产性活动的影响。管理人员和非开发人员需要成为业务需求和解决方案方面的专家,回答开发人员的问题。

然而,在实际的软件项目中,开发人员会被不停地打断,他们需要参加超负荷的会议。

没有人注意到这些琐碎的问题导致软件项目失败。软件项目往往会在低优先级的问题上浪费大量时间,而且各种会议还会占用开发人员大量的时间。


开发人员的心态


开发人员应该珍惜自己的时间,拒绝参加各种会议。开发人员应该明白自己与项目中的其他角色是平等关系,他们不需要牺牲自己的时间去参加那些只是为了向经理汇报进度的会议。

当项目范围发生变化时,计划也需要更新。在要求扩大范围时,最佳回应是:

“每周我只有 40 个小时的工作时间,如何完成 60 个小时的开发?”

平日的加班或周末加班应该只发生在产品上线的情况下。其他所有的截止期限都是人为设定的,而且只是因为有人做了这样的计划。

不接受其他人的甩锅。开发人员的时间是有限的,其他人也应该承担起自己的职责。

我们必须保护开发人员的时间,因为这是唯一用于创建软件的时间,也是最终产出的时间。

开发人员需要了解其他角色的职责,并让相应的人员自己承担,而不是为他们做工作。

参考链接:

https://thehosk.medium.com/developers-are-the-most-valuable-resource-when-creating-software-but-their-time-is-undervalued-and-85aab08d7af7


10 月 23-24 日,“长沙·中国 1024 程序员节”重磅来袭。岳麓对话、技术英雄会、主题论坛演讲、第 16 届中国 Linux 内核开发者大会( CLK )、第 13 届中国开源黑客松等多场硬核技术竞赛纷纷亮相。此外,还有程序员吐槽大会、创新产品展与现场体验等诸多特色活动,邀你一起体验一年一度、专属程序员的盛大嘉年华!


“我只警告一次,下次我会直接忽略你发的垃圾,懂?”Linus 精彩炮轰语录集锦

首批 iPhone 13 用户直呼太“坑”:拍照有马赛克、不能用高刷、还与 Apple Watch “失联”?

iPhone 将被迫换成 USB-C 接口?苹果,你可怎么办啊......

程序员进 ICU 昏迷五六天,恢复后决定辞职回乡改行送菜
一位对抗苹果的“勇士”:公开 iOS 未修复漏洞后,再写《恶意软件进 App Store 指南》

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存